/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package reportes;

import java.sql.Connection;
//import java.sql.DriverManager;
import java.sql.SQLException;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;

/**
 *
 * @author Gustavo
 */
public class Listado {
    
    private Connection conn;
    private Map parametros = new HashMap();
    private String pathReport;
    //private final String login = "srr"; //usuario de acceso a MySQL
    //private final String password = "srradmin"; //contraseña de usuario
    //private String url = "jdbc:postgresql://localhost/srr";
    
    public Listado(Connection conn, Map parametros, String path)
    {        
        //try 
        //{
            //Class.forName("org.postgresql.Driver"); //se carga el driver
            //conn = DriverManager.getConnection(url,login,password);
            //conn = (Connection) request.getSession().getAttribute("ConexionBd");
            this.conn = conn;
            this.parametros = parametros;
            this.pathReport = path;
        //} 
        //catch (ClassNotFoundException ex) 
        //{
            //ex.printStackTrace();
        //} 
        //catch (SQLException ex) 
        //{
            //ex.printStackTrace();
        //}
    }
    
    public void runReporte(String reporte)
    {
        try
        {
            String master = "C:\\Users\\Steve\\Documents\\NetBeansProjects\\srr-is2-py\\src\\java\\reportes\\" + reporte + ".jasper";
            //String master = pathReport + "/reportes/" + reporte + ".jasper";
            
            System.out.println("master" + master);
            if (master == null) 
            {                
                System.out.println("No encuentro el archivo del reporte maestro.");
                System.exit(2);
            } 

            JasperReport masterReport = null;
            try 
            {
                masterReport = (JasperReport) JRLoader.loadObject(master);
            } 
            catch (JRException e) 
            {
                System.out.println("Error cargando el reporte maestro: " + e.getMessage());
                System.exit(3);
            }              
            
            //este es el parámetro, se pueden agregar más parámetros
            //basta con poner mas parametro.put
            
            //Reporte diseñado y compilado con iReport
            JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametros, conn);
            //JasperExportManager.exportReportToPdfFile(jasperPrint, "D:\\is2\\20080701\\srr-is2-py\\src\\java\\reportes\\holaMundo.pdf");

            //Se lanza el Viewer de Jasper, no termina aplicación al salir
            JasperViewer.viewReport(jasperPrint, false);
        }
        catch (Exception ex)
        {
            System.out.println("Mensaje de Error: " + ex.getMessage());
        }
    }
    
    public void cerrar()
    {
        try 
        {
            conn.close();
        } 
        catch (SQLException ex) 
        {
            ex.printStackTrace();
        }
    }
}
